import os
import sys
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.edge.options import Options as EdgeOptions

class LikeShopTest():
    def __init__(self) -> None:
        # 设置 Edge WebDriver 的路径
        driver_path = r'D:\\SoftWtest\\215501020317软工2102班黄莲源\\msedgedriver.exe'
        service = EdgeService(executable_path=driver_path)
        options = EdgeOptions()
        
        # 初始化 Microsoft Edge 浏览器
        self.browser = webdriver.Edge(service=service, options=options)
        
    def test_login(self, phone_number, password):
        '''
        测试登录
        '''
        self.browser.get('http://likeshop.abc/admin/account/login.html')

        sleep(2)  # 等待页面加载

        # 定位手机号输入框并输入手机号
        self.browser.find_element(By.NAME, 'phone').send_keys(phone_number)  # 假设输入框 name 为 'phone'

        # 定位密码输入框并输入密码
        self.browser.find_element(By.NAME, 'password').send_keys(password)

        # 定位验证码输入框并输入密码
        self.browser.find_element(By.NAME, 'code').send_keys('1111')  # 假设验证码为固定值 '1111'
        
        # 定位登录按钮并点击登录按钮
        self.browser.find_element(By.ID, 'login').click()
        
        # 等待登录结果页面加载（可以根据实际情况调整等待时间或方式）
        sleep(5)
        
        # 验证登录是否成功（这里假设登录成功后页面标题会改变，可以根据实际情况调整验证方式）
        login_successful = "登录成功后的页面标题" in self.browser.title
        
        # 关闭浏览器
        self.browser.quit()
        
        return login_successful

if __name__ == '__main__':
    # 初始化测试对象
    likeShopTest = LikeShopTest()
    
    # 定义测试用的手机号和密码
    phone_number = '13800000000'  # 替换为实际的手机号
    password = 'securepassword123'  # 替换为实际的密码
    
    # 执行登录测试
    login_result = likeShopTest.test_login(phone_number, password)
    
    # 输出测试结果
    if login_result:
        print("登录测试成功！")
    else:
        print("登录测试失败！")